﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="PageLayout.cs" company="Anton Frattaroli">
//   Copyright (c) Anton Frattaroli. All rights reserved.
// </copyright>
// <summary>
//   Defines the PageLayout class.
// </summary>
// --------------------------------------------------------------------------------------------------------------------
namespace Lidocaine.BusinessObjects
{
    using System.Collections.Generic;

    /// <summary>
    /// Defines the PageLayout class.
    /// </summary>
    public class PageLayout
    {
        /// <summary>
        /// Gets or sets the page's database row identity.
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// Gets or sets the page's virtual path.
        /// </summary>
        public string Path { get; set; }

        /// <summary>
        /// Gets or sets the page's title.
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// Gets or sets the page's header.
        /// </summary>
        public int HeaderId { get; set; }

        /// <summary>
        /// Gets or sets the page's footer.
        /// </summary>
        public int FooterId { get; set; }

        /// <summary>
        /// Gets or sets the page's header.
        /// </summary>
        public int RightColId { get; set; }

        /// <summary>
        /// Gets or sets the page's header.
        /// </summary>
        public int LeftNavId { get; set; }

        /// <summary>
        /// Gets or sets the page's header.
        /// </summary>
        public int TopNavId { get; set; }

        /// <summary>
        /// Gets or sets the page's style sheet.
        /// </summary>
        public int CssId { get; set; }
        
        /// <summary>
        /// Gets or sets the page's javascript.
        /// </summary>
        public int JavaScriptId { get; set; }

        /// <summary>
        /// Gets or sets the page's content.
        /// </summary>
        public int ContentId { get; set; }

        /// <summary>
        /// Gets or sets the page's header.
        /// </summary>
        public virtual Template Header { get; set; }

        /// <summary>
        /// Gets or sets the page's footer.
        /// </summary>
        public virtual Template Footer { get; set; }

        /// <summary>
        /// Gets or sets the page's header.
        /// </summary>
        public virtual Template RightCol { get; set; }

        /// <summary>
        /// Gets or sets the page's header.
        /// </summary>
        public virtual Template LeftNav { get; set; }

        /// <summary>
        /// Gets or sets the page's header.
        /// </summary>
        public virtual Template TopNav { get; set; }

        /// <summary>
        /// Gets or sets the page's style sheet.
        /// </summary>
        public virtual Script Css { get; set; }

        /// <summary>
        /// Gets or sets the page's javascript.
        /// </summary>
        public virtual Script JavaScript { get; set; }

        /// <summary>
        /// Gets or sets the page's content.
        /// </summary>
        public virtual Content Content { get; set; }
    }
}